@echo off
echo.
echo ==============================================
echo   YanXue AI Go 配置验证和项目启动
echo ==============================================
echo.

REM 设置环境变量（基于您提供的配置）
echo 正在设置配置环境变量...
set APP_NAME=example-service
set APP_VERSION=1.0.0
set APP_ENVIRONMENT=development
set SERVER_HOST=0.0.0.0
set SERVER_PORT=8080
set DATABASE_HOST=127.0.0.1
set DATABASE_PORT=5432
set DATABASE_USER=user
set DATABASE_PASSWORD=password
set DATABASE_NAME=example_db
set REDIS_HOST=127.0.0.1
set REDIS_PORT=6379
set REDIS_PASSWORD=redis_password
set AI_OPENAI_API_KEY=your_api_key_here
set AI_OPENAI_BASE_URL=https://api.example.com
set LOG_LEVEL=info
set JWT_SECRET=example-jwt-secret-key-change-in-production

echo ✓ 环境变量设置完成
echo.

echo 显示配置信息:
echo   应用名称: %APP_NAME%
echo   版本: %APP_VERSION%
echo   环境: %APP_ENVIRONMENT%
echo   服务器: %SERVER_HOST%:%SERVER_PORT%
echo   数据库: %DATABASE_HOST%:%DATABASE_PORT%/%DATABASE_NAME%
echo   Redis: %REDIS_HOST%:%REDIS_PORT%
echo   AI服务: %AI_OPENAI_BASE_URL%
echo   日志级别: %LOG_LEVEL%
echo.

echo 检查Go环境...
go version >nul 2>&1
if %errorlevel% neq 0 (
    echo ✗ 错误: Go未安装或不在PATH中
    pause
    exit /b 1
)
echo ✓ Go环境正常

echo.
echo 检查配置文件...
if not exist "configs\config.yml" (
    echo ✗ 错误: configs\config.yml 配置文件不存在
    pause
    exit /b 1
)
echo ✓ 配置文件存在

echo.
echo 更新项目依赖...
go mod tidy
if %errorlevel% neq 0 (
    echo ✗ 错误: 依赖更新失败
    pause
    exit /b 1
)

echo.
echo 更新公共模块依赖...
cd pkg\common
go mod tidy
cd ..\..

echo.
echo 更新Gateway服务依赖...
cd services\gateway
go mod tidy
cd ..\..

echo ✓ 所有依赖更新完成

echo.
echo ==============================================
echo   配置验证完成，准备启动项目
echo ==============================================
echo.
echo 您可以选择启动方式:
echo   1. 启动Gateway服务（API网关，推荐）
echo   2. 启动所有服务（完整功能）
echo   3. 仅验证配置（不启动服务）
echo.
set /p choice="请选择 (1-3): "

if "%choice%"=="1" (
    echo.
    echo 正在启动Gateway服务...
    cd services\gateway
    go run cmd\main.go
) else if "%choice%"=="2" (
    echo.
    echo 启动所有服务需要手动启动每个服务:
    echo   1. Gateway: cd services\gateway && go run cmd\main.go
    echo   2. Agent: cd services\agent && go run cmd\main.go  
    echo   3. MCP: cd services\mcp && go run cmd\main.go
    echo   4. RAG: cd services\rag && go run cmd\main.go
    echo.
    echo 正在启动Gateway服务作为入口...
    cd services\gateway
    go run cmd\main.go
) else if "%choice%"=="3" (
    echo.
    echo ✓ 配置验证完成！
    echo 项目配置正确，可以使用您提供的配置启动。
) else (
    echo 无效选择，退出。
)

echo.
pause